/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package beans;

import java.util.List;
import javax.annotation.Resource;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.transaction.UserTransaction;

/**
 *
 * @author Save
 */
@ManagedBean
@SessionScoped
public class ManagedBeanAuktion {

    @PersistenceContext
    private EntityManager em;
    @Resource
    private UserTransaction utx;
    private Auktion auktion = new Auktion();
    private Auktion selAuktion;

    /**
     * Creates a new instance of ManagedBeanAuktion
     */
    public Auktion getAuktion() {
        if (auktion == null) {

            auktion = (Auktion) em.createNamedQuery("Auktion.findByArtikelid", Auktion.class).setParameter("artikelid", auktion.getArtikelid()).getSingleResult();
        }
        return auktion;
    }

    public Auktion getSelAuktion() {
        return selAuktion;
    }

    public void setSelAuktion(Auktion selAuktion) {
        this.selAuktion = selAuktion;
    }

    public String zeigeDetail(Auktion selAuktion) {
        this.selAuktion = selAuktion;
        return " ?    ?    ?     ?    ????";
    }

    public String change() {

        try {
            utx.begin();
            em.merge(auktion);
            utx.commit();

        } catch (Exception e) {
        }
        return "/faces/auktionEingestellt.xhtml";
    }

    public String cancel() {
        return "/faces/indexAdmin.xhtml";
    }

    public ManagedBeanAuktion() {
    }

    public List<Auktion> findAllSortByEnd() {
        return em.createQuery("SELECT a FROM Auktion a ORDER BY a.auktionsende", Auktion.class).getResultList();
    }

    public List<Auktion> findAll() {

        return em.createNamedQuery("Auktion.findAll").getResultList();
    }
}
